﻿/*
核反应堆 
Time Limit:1000MS  Memory Limit:32768K
Description:

某核反应堆有两类事件发生：

高能质点碰击核子时，质点被吸收，放出3个高能质点和1个低能质点；

低能质点碰击核子时，质点被吸收，放出2个高能质点和1个低能质点。

假定开始的时候（0微秒）只有一个高能质点射入核反应堆，每一微秒引起一个事件发生，试确定n微秒时高能质点和低能质点的数目。

　

Input:

输入含有一些整数n(0≤n≤33)，以微秒为单位，若n为-1表示处理结束。
Output:

分别输出n微秒时刻高能质点和低能质点的数量，高能质点与低能质点数量之间以逗号空格分隔。每个输出之间空一行。
Sample Input:

2 5
-1
Sample Output:

11, 4
571, 209
Hint:

可以使用long long int对付GNU C++，使用long long int对付VC6，用流进行输入输出
*/
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	int n;
	while (cin >> n && (-1 != n))
	{
		long long int temp;
		long long int hi = 1, lo = 0;  
		while (n--)
		{
			temp = hi;
			hi = 3 * hi + 2 * lo;  
			lo = temp + lo;
		}
		cout << hi << ", " << lo << endl;
	}
	return EXIT_SUCCESS;
}
